package com.powerbank.user.vo;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户优惠券VO
 */
@Data
public class UserCouponVO {

    /**
     * 优惠券ID
     */
    private Long id;

    /**
     * 优惠券编码
     */
    private String couponCode;

    /**
     * 优惠券名称
     */
    private String couponName;

    /**
     * 优惠券类型
     */
    private String couponType;

    /**
     * 优惠券类型描述
     */
    private String couponTypeDesc;

    /**
     * 优惠券金额
     */
    private BigDecimal couponAmount;

    /**
     * 折扣率
     */
    private BigDecimal discountRate;

    /**
     * 使用门槛
     */
    private BigDecimal minAmount;

    /**
     * 最大优惠金额
     */
    private BigDecimal maxDiscount;

    /**
     * 适用范围
     */
    private String applyScope;

    /**
     * 适用范围描述
     */
    private String applyScopeDesc;

    /**
     * 优惠券状态
     */
    private Integer couponStatus;

    /**
     * 优惠券状态描述
     */
    private String couponStatusDesc;

    /**
     * 获得时间
     */
    private LocalDateTime receiveTime;

    /**
     * 有效期开始时间
     */
    private LocalDateTime validStartTime;

    /**
     * 有效期结束时间
     */
    private LocalDateTime validEndTime;

    /**
     * 使用时间
     */
    private LocalDateTime useTime;

    /**
     * 来源描述
     */
    private String sourceDesc;

    /**
     * 是否即将过期（7天内过期）
     */
    private Boolean expiringSoon;

    /**
     * 剩余天数
     */
    private Integer remainingDays;

    /**
     * 使用条件描述
     */
    private String usageCondition;

    /**
     * 优惠描述
     */
    private String discountDesc;
}